home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2_m.plp < prev    next >
Text File  |  1993-11-30  |  8KB  |  355 lines

  1. /**********   手動動通信を行う  v1.04a用   ***********/
  2. var hanbuf[1000];
  3. var pfks1[50];
  4. var pfks2[50];
  5. var pfkid[1];
  6. var inrtc[3];
  7. var st[4];
  8. var SendID[20];
  9. var PageID[10];
  10. var myhandle[20];
  11. var Stime[8];
  12. var Wtime[6];
  13.  
  14.     %FSelDown{
  15.     case(st={Down},
  16.     {Yes},{
  17.         stoprec;
  18.         st:={None};
  19.     },{No},{
  20.         setcdir2(logd);
  21.         %f @filesel;
  22.         case(f<>{},
  23.         {Yes},{
  24.         case(@filechk(f),
  25.         {Yes},{
  26.             loop({
  27.             select({ ファイルが存在しますが?},9999,{st:={}},
  28.                 { 上書する },{ rec2(f); st:={Down}},
  29.                 { 追加する },{ receive(f); st:={Down}},
  30.                 { 取り消し },{ st:={None}}
  31.             );
  32.             im(st={});
  33.             });
  34.         },{No},{
  35.             st:={Down};
  36.             receive(f);
  37.         });
  38.         });
  39.     });
  40.     };
  41.  
  42.     %FSelUp{
  43.     case(st<>{Down},
  44.     {Yes},{
  45.         %f @filesel;
  46.         case(f<>{},
  47.         {Yes},{
  48.         case(@filechk(f),
  49.         {Yes},{
  50.             send(f);
  51.         },{No},{
  52.             select({ 指定のファイルが存在しません},5,,{確認});
  53.         });
  54.         });
  55.     });
  56.     };
  57.  
  58.     %ChgPfk{
  59.     case(st,
  60.     {Down},    {
  61.         pfks1:={    Recv    }|@getchar(pfks1,13,44);
  62.         pfks2:={終了Recv    }|@getchar(pfks2,13,44);
  63.     },,    {
  64.         pfks1:={終了記録送信}|@getchar(pfks1,13,44);
  65.         pfks2:={終了記録送信}|@getchar(pfks2,13,44);
  66.     });
  67.     DspPfk;
  68.     };
  69.  
  70.     %SendMsg{
  71.     case(pfkid,1,{
  72.         mclear(1);
  73.         madd(1,{/SEND }|SendID|{ });
  74.         mopen(1,0,21,639,62);
  75.     footnote({                                        取消送信},{b});
  76.         loop({    waitx(99999);
  77.             im(@PFK(@xtype)!=111 && @PFK(@xtype)!=112);
  78.         });
  79.         case(@PFK(@xtype),
  80.           112,{    mclose(1);
  81.             type(@head(@memo(1),{\n})|{\n});
  82.             mopen(1);
  83.         });
  84.         mclose(3);
  85.     },2,{
  86.         mclose(1);
  87.         madd(1,{/SEND }|SendID|{ });
  88.         mopen(1);
  89.         curline(2);
  90.     });
  91.     DspPfk;
  92.     };
  93.  
  94.     %ChatMode{
  95.     chat({No});
  96.     CloseAllMemo;
  97.     mclear(1);
  98.     madd(1,{});
  99.     mset(1,{w});
  100.     hanbuf:={★☆★宛先無し★☆★\nALL\n};
  101.     mopen(1,0,418,639,459);
  102.     pfkid:=2;
  103.     footnote(pfks2,{b});
  104.     };
  105.  
  106.     %ChatEnd{
  107.     allclear;
  108.     pfkid:=1;
  109.     footnote(pfks1,{b});
  110.     chat({Yes});
  111.     };
  112.  
  113.     %AMHan{
  114.     var max[3];
  115.     var cnt[3];
  116.     var ch[3];
  117.     hanbuf:={★☆★宛先無し★☆★\nALL\n};
  118.     type({/S\n});
  119.     wait(30,,{(人数)\n});
  120.     wait(30,,{#});
  121.     wait(30,,{(});
  122.     ch:=@tail(@laststr,{#},{(});
  123.     wait(30,,{)});
  124.     max:=@tail(@laststr,{(},{)})+0;
  125.     cnt:=0;
  126.     wait(30,,{\n});
  127.     type({/U }|ch|{\n});
  128.     wait(30,,{HANDLE});
  129.     wait(30,,{\n});
  130.     loop({
  131.         wait(10,{im({No});},
  132.           {\n},{%rec    @tail(@laststr(128),{\n });
  133.             %job    @getchar(rec,1,4);
  134.             %id    @getchar(rec,11,8);
  135.             %hannam    @getchar(rec,20,22);
  136.             hanbuf:=hanbuf|hannam;
  137.             cnt:=cnt+1;
  138.             im(cnt<max);
  139.         });
  140.     });
  141.     };
  142.  
  143.     %MakeHan{
  144.     AMHan;
  145.     DspPfk;
  146.     };
  147.  
  148.     %SelHan{
  149.     %SelHan2{
  150.         han:=@memo(2,@xlinenum,1);
  151.         hanbuf:=@memo(2);
  152.         mclose(3);
  153.         case(han,
  154.         {★☆★宛先無し★☆★\n},{type(@memo(1)|{\n});
  155.             },,{ type(@memo(1)|{>}|@head(han,{\n})|{さん\n});
  156.         });
  157.         case(@mcheck!=0,{Yes},{mclose(1)});
  158.         mclear(1);
  159.         im({No});
  160.     };
  161.     var han[40];
  162.     mclear(2);
  163.     madd(2,hanbuf);
  164.     mopen(2,463,21,639,418,{w});
  165.     footnote({                                        取消決定},{b});
  166.     loop({
  167.         loop({    waitx(99999);
  168.             im(@xtype!=2 && @PFK(@xtype)<=100 || @xlinenum<0);
  169.         });
  170.         case(@PFK(@xtype),
  171.             2,{    SelHan2;
  172.         },111,{    hanbuf:=@memo(2);
  173.             check(2);
  174.             mclose(3);
  175.             im({No});
  176.         },112,{    SelHan2;
  177.         },,{    im({Yes});
  178.         });
  179.     });
  180.     };
  181.  
  182.     %MyHandle{
  183.     %h    @input({ ハンドル名を入力してください});
  184.     case(h<>{},
  185.     {Yes},{ myhandle:=@getchar(h,1,20);
  186.         type({/HA }|myhandle|{\n});
  187.     });
  188.     };
  189.  
  190.     %HanChk{
  191.     %rec    @tail(@laststr,{\n(},{)});
  192.     %hannam @tail(rec,{,});
  193.     case(hannam<>myhandle,
  194.     {Yes}, {case(hannam<>rec && @body(hanbuf,hannam)={},
  195.         {Yes},{    hanbuf:=hanbuf|hannam|{\n};                            Bell;
  196.             wait(60,,{\n},);
  197.             display({・・\n   }|hannam|{\n・・\n});
  198.         });
  199.     });
  200.     };
  201.  
  202.     %DesChk{[dlm]
  203.     case(@head(@tail(@laststr,dlm),{\n})=myhandle,
  204.     {Yes},{ Bell;
  205.         display({ --------------------}|
  206.             {-------------------\n});
  207.     });
  208.     };
  209.  
  210.     %SendChk{
  211.     SendID:=@tail(@head(@laststr(64),{ のユーザ}),{-});
  212.     wait(10,,{\n});
  213.     wait(10,,{\n});
  214.     Bell;
  215.     select(SendID|{のユーザからメッセージが届きました},1);
  216.     };
  217.  
  218.     %PageChk{
  219.     PageID:=@tail(@head(@laststr(64),{のユーザ}),{\n- JOB番号});
  220.     wait(10,,{\n});
  221.     wait(10,,{\n});
  222.     Bell;
  223.     select(PageID|{のユーザからメッセージが届きました},1);
  224.     };
  225.  
  226.     %Alarm{
  227.     Bell;
  228.     select(Itime|{秒経過しました},1);
  229.     };
  230.  
  231.     %DspPfk{
  232.     case(pfkid,
  233.       1,{footnote(pfks1,{b});
  234.     },2,{footnote(pfks2,{b});
  235.     });
  236.     };
  237.  
  238. /*
  239. **  メイン処理
  240. */
  241.     chat({Yes});
  242.     pfkid:=1;
  243.     pfks1:={終了記録送信    MENU    UST2 ON OFF SEND    CHAT};
  244.     pfks2:={終了記録送信宛編/HA /U  /UST/TI /PA /SE 宛選送信};
  245.     DspPfk;
  246.     Stime:=@linetime;
  247.     Wtime:=Itime;
  248.     loop({
  249.     case(pfkid,
  250.       1,{
  251.         waitx(Wtime,{
  252.             case(@PFK(@xtype),
  253.               101,{    pfkid:=0; DspPfk;    im(st={Down});
  254.             },102,{    FSelDown; ChgPfk;    im({Yes});
  255.             },103,{ FSelUp;            im({Yes});
  256.             },105,{    type({SET MENU ON\n});    im({Yes});
  257.             },107,{    type({UST2\n});        im({Yes});
  258.             },108,{    type({SET PAGE ON\n});    wait(1);
  259.                 type({SET PAUSE ON\n});    wait(1);
  260.                 type({SEND ON\n});    im({Yes});
  261.             },109,{    type({SET PAGE OFF\n});    wait(1);
  262.                 type({SET PAUSE OFF\n});im({Yes});
  263.             },110,{    SendMsg;        im({Yes});
  264.             },112,{    ChatMode;         im({Yes});
  265.             }, -2,{ Alarm;            im({Yes});
  266.             },   ,{                im({Yes});
  267.             });
  268.         },{ご利用誠にありがとうございました。\n},
  269.             {status:={OFF};            im({Yes});
  270.         },{\n Enter User-ID  --->},
  271.             {status:={LOG};            im({Yes});
  272.         },{\n Enter Password --->},
  273.             {sendtype({Ch/2});
  274.              wait(90,{TimeOut},{\n});
  275.              sendtype({Line});        im({Yes});
  276.         },{パスワード\n:},
  277.             {sendtype({Ch/2});
  278.              wait(90,{TimeOut},{\n});
  279.              sendtype({Line});        im({Yes});
  280.         },{\n前回LOG OUT},
  281.             {status:={ON};        im({Yes});
  282.         },{のユーザーからの},
  283.             {SendChk;            im({Yes});
  284.         },{のユーザーからメ},
  285.             {PageChk;            im({Yes});
  286.         });
  287.     },2,{
  288.         waitx(Wtime,{
  289.             case(@PFK(@xtype),
  290.               101,{ ChatEnd;        im({Yes});
  291.             },102,{ FSelDown; ChgPfk;    im({Yes});
  292.             },103,{ FSelUp;            im({Yes});
  293.             },104,{ mclose(2); MakeHan;
  294.                 case(@mcheck==0,{Yes},{ mopen(1) });
  295.                             im({Yes});
  296.             },105,{    MyHandle;        im({Yes});
  297.             },106,{ display({「/U」コマンド実行\n});
  298.                 type({/U\n});
  299.                             im({Yes});
  300.             },107,{    display({「/UST2」コマンド実行\n});
  301.                 type({/UST2\n});
  302.                             im({Yes});
  303.             },108,{    type({/TIME\n});    im({Yes});
  304.             },109,{    mclose(1); mclear(1);
  305.                 madd(1,{/PAGE }|PageID);
  306.                 mopen(1);        im({Yes});
  307.             },110,{    SendMsg;        im({Yes});
  308.             },111,{    mclose(1);
  309.                 SelHan;
  310.                 mopen(1);
  311.                 DspPfk;            im({Yes});
  312.             },112,{    mclose(1);
  313.                 type(@memo(1)|{\n});
  314.                 mclear(1); mopen(1);    im({Yes});
  315.             }, -2,{ Alarm;            im({Yes});
  316.             },   ,{                im({Yes});
  317.             });
  318.         },{ご利用誠にありがとうございました。\n},
  319.             {status:={OFF};            im({Yes});
  320.         },{\n Enter User-ID  --->},
  321.             {status:={LOG};            im({Yes});
  322.         },{\n Enter Password --->},
  323.             {sendtype({Ch/2});
  324.              wait(90,{TimeOut},{\n},);
  325.              sendtype({Line});        im({Yes});
  326.         },{パスワード\n:},
  327.             {sendtype({Ch/2});
  328.              wait(90,{TimeOut},{\n},);
  329.              sendtype({Line});        im({Yes});
  330.         },{\n前回LOG OUT},
  331.             {status:={ON};            im({Yes});
  332.         },{のユーザーからの},
  333.             {SendChk;            im({Yes});
  334.         },{のユーザーからメ},
  335.             {PageChk;            im({Yes});
  336.         },{\n(},{wait(30,,{)},{HanChk});    im({Yes});
  337.         },{>} ,{wait(30,,{\n},{DesChk({>})});
  338.                             im({Yes});
  339.         },{>}  ,{wait(30,,{\n},{DesChk({>})});
  340.                             im({Yes});
  341.         },,{    case(@nolmemo(1)=2,{Yes},{
  342.                 mclose(1);
  343.                 type(@memo(1));
  344.                 mclear(1); mopen(1);
  345.             });
  346.             im({Yes});
  347.         });
  348.     });
  349.     Wtime:=Wtime-(@linetime-Stime);
  350.     Stime:=@linetime;
  351.     case(Wtime<=0,{Yes},{Wtime:=Itime});
  352.     });
  353.     footnote({});
  354.     chat({No});
  355.